﻿using com.ytocargo.Core.BackgroundJobInfos;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Yto.Threading.BackgroundWorkers;

namespace com.ytocargo.Application.BackgroundJobs
{
    public interface IBackgroundJobManager :  IBackgroundWorker
    {
        Task EnqueueAsync<T, TArgs>(TArgs args,DateTime? nextTryTime = null, 
            BackgroundJobPriority priority = BackgroundJobPriority.Normal, TimeSpan? period = null)
            where T : IBackgroundJob<TArgs>;
    }
}
